package edu.uga.cs1302.vehicles;

public abstract class Vehicle implements Movable {
	public String name;
	public String manufacturer;
	public int yearofMan;
	public int noPassengers;
	public int topSpeed;
	public static int count = 0;
	public int horsepower;
	public int maxAltitude;
	public int maxRange;
	public int tonnage;
	public int noEngines;
	public String owner;

	// getters and setters for Vehicle name, manufacturer, and yearofMan
	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getManufacturer() {
		return manufacturer;
	}

	public void setManufacturer(String manufacturer) {
		this.manufacturer = manufacturer;
	}

	public int getYearofMan() {
		return yearofMan;
	}

	public void setYearofMan(int yearofMan) {
		this.yearofMan = yearofMan;
	}

	// each time class Vehicle is instantiated count increases by 1
	public Vehicle(String name, String manufacturer, int yearofMan) {
		this.name = name;
		this.manufacturer = manufacturer;
		this.yearofMan = yearofMan;
		Vehicle.count += 1;
	}

	// Inherited interface(s) (Movable interface) need to be defined in abstract
	// Vehicle class
	@Override
	public int getNoPassengers() {
		return noPassengers;
	}

	@Override
	public void setNoPassengers(int noPassengers) {
		this.noPassengers = noPassengers;
	}

	@Override
	public int getTopSpeed() {
		return topSpeed;
	}

	@Override
	public void setTopSpeed(int topSpeed) {
		this.topSpeed = topSpeed;
	}

	public int getHorsepower() {
		return horsepower;
	}

	public void setHorsepower(int horsepower) {
		this.horsepower = horsepower;
	}

	public int getMaxAltitude() {
		return maxAltitude;
	}

	public void setMaxAltitude(int maxAltitude) {
		this.maxAltitude = maxAltitude;
	}

	public int getMaxRange() {
		return maxRange;
	}

	public void setMaxRange(int maxRange) {
		this.maxRange = maxRange;
	}

	public int getTonnage() {
		return tonnage;
	}

	public void setTonnage(int tonnage) {
		this.tonnage = tonnage;
	}

	public int getNoEngines() {
		return noEngines;
	}

	public void setNoEngines(int noEngines) {
		this.noEngines = noEngines;
	}

	public String getOwner() {
		return owner;
	}

	public void setOwner(String owner) {
		this.owner = owner;
	}

}
